/**
 * 映射Map:  mapping relation  问题空间 map to -->> 解空间
 *  > 有序映射：搜索树实现
 *  > 无序映射：hash表实现
 *  > 多重映射：key可以重复
 *
 * @param <K> 映射key
 * @param <V> 映射value
 */
public interface Map<K, V> {

    void add(K key, V value);
    V remove(K key);
    boolean contains(K key);

    V get(K key);
    void set(K key, V value);  // 是否返回 value

    int size();
    boolean isEmpty();
}
